package com.google.gwt.chart.client;

//=========================================================================
/**
 * Title:        Bounds <br>
 * Description:  $defaultDesc$<br>
 * Copyright:    Apache Public License 2.0<br>
 * Company:      $company$<br>
 * @author James Hutton
 */
//=========================================================================
public class Bounds {

	private double x, y, height, width;

	//=========================================================================
	/**
	 * Constructs a Bounds
	 * @param X -
	 * @param Y -
	 * @param W -
	 * @param H -
	 */
	//=========================================================================
	public Bounds(double X, double Y, double W, double H) {

		x = X;
		y = Y;
		height = H;
		width = W;

	}

	//=========================================================================
	/**
	 * Method getX
	 * @return double
	 */
	//=========================================================================
	public double getX() {
		return x;
	}

	//=========================================================================
	/**
	 * Method getY
	 * @return double
	 */
	//=========================================================================
	public double getY() {
		return y;
	}

	//=========================================================================
	/**
	 * Method getWidth
	 * @return double
	 */
	//=========================================================================
	public double getWidth() {
		return width;
	}

	//=========================================================================
	/**
	 * Method getHeight
	 * @return double
	 */
	//=========================================================================
	public double getHeight() {
		return height;
	}

	//=========================================================================
	/**
	 * Method inside
	 * @param x
	 * @param y
	 * @return boolean
	 */
	//=========================================================================
	public boolean inside(double x, double y) {
		return ((this.x <= x) && ((this.x + width) >= x) && (this.y <= y) && ((this.y + height) >= y));
	}

	//=========================================================================
	/**
	 * Method addX
	 * @param val
	 */
	//=========================================================================
	public void addX(double val) {
		x += val;
	}

	//=========================================================================
	/**
	 * Method addY
	 * @param val
	 */
	//=========================================================================
	public void addY(double val) {
		y += val;
	}

	//=========================================================================
	/**
	 * Method addHeight
	 * @param val
	 */
	//=========================================================================
	public void addHeight(double val) {
		height += val;
	}

	//=========================================================================
	/**
	 * Method addWidth
	 * @param val
	 */
	//=========================================================================
	public void addWidth(double val) {
		width += val;
	}
}

